home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 3 / Info_Mac_1994-01.iso / Text Processing / Alpha 5.63 / Tcl / SystemCode / flags.tcl < prev    next >
Encoding:
Text File  |  1993-11-20  |  3.0 KB  |  135 lines  |  [TEXT/ALFA]

  1. # The following three procs, together w/ the initialization 
  2. # for the flags below, allow a totally Tcl-controlled menu to 
  3. # shadow Alpha's internal variables.
  4. proc initFlag var {
  5.     global $var
  6.     addMenuItem -m Flags $var
  7.     trace vdelete $var w shadowFlag
  8.     shadowVar $var
  9.     markMenuItem Flags $var [expr ([set $var])?"on":"off"]
  10.     trace variable $var w shadowFlag
  11. }
  12.  
  13. # Called for ordinary tcl global vars we want included in the Flags menu.
  14. proc initTclFlag flag {
  15.     global $flag
  16.     addMenuItem -m Flags $flag
  17.     if {![info exists $flag]} {set $flag 0}
  18.     markMenuItem Flags $flag [expr ([set $flag])?"on":"off"]
  19.     trace variable $flag w shadowFlag
  20. }
  21.  
  22. # Called for ordinary tcl global vars we want included in the Vars menu.
  23. proc initTclVar var {
  24.     global $var
  25.     addMenuItem -m Vars $var
  26.     if {![info exists $var]} {set $var 0}
  27. }
  28.  
  29. proc shadowFlag {nm1 nm2 op} {
  30.     global $nm1
  31.     markMenuItem Flags $nm1 [expr [set $nm1]?"on":"off"]
  32. }
  33.  
  34. # 'fullNames' needs to be traced to update win menu.
  35. if {![info exists oldFNames]} {set oldFNames 0}
  36. proc shadowFullNames args {
  37.     global winNameToNum
  38.     global fullNames
  39.     global oldFNames
  40.     
  41.     if {$fullNames == $oldFNames} {return $fullNames}
  42.     set oldFNames $fullNames
  43.     
  44.     if {[catch {set nms [array names winNameToNum]}] == "1"} {
  45.         return $fullNames
  46.     }
  47.     
  48.     if {$fullNames == "1"} {
  49.         foreach name $nms {
  50.             if {$winNameToNum($name) < 10} {
  51.                 set lab /$winNameToNum($name)
  52.             } else {set lab ""}
  53.             regexp {[^:]*$} $name nm
  54.             catch {deleteMenuItem -m Wins $nm}
  55.             addMenuItem -m -l $lab Wins $name
  56.         }
  57.     } else {
  58.         foreach name $nms {
  59.             if {$winNameToNum($name) < 10} {
  60.                 set lab /$winNameToNum($name)
  61.             } else {set lab ""}
  62.             regexp {[^:]*$} $name nm
  63.             catch {deleteMenuItem -m Wins $name}
  64.             addMenuItem -m -l $lab Wins $nm
  65.         }
  66.     }
  67.     return $fullNames
  68. }
  69.  
  70. proc initVar var {
  71.     global $var
  72.     shadowVar $var
  73.     addMenuItem -m Vars $var
  74. }
  75.  
  76. # This file contains methods allowing the shadowing of tcl variables 
  77.  
  78. initFlag autoHScroll
  79. initFlag autoSave
  80. initTclFlag backup
  81. initFlag blockCursor
  82. initFlag bwWindows
  83. initFlag elecLBrace
  84. initFlag elecRBrace
  85. initFlag electricSemi
  86. initFlag fullNames
  87. trace vdelete fullNames w shadowFullNames
  88. trace variable fullNames w shadowFullNames
  89. initFlag fullScreen
  90. initTclFlag iconifyOnSwitch
  91. initFlag indentOnCR
  92. initFlag moveInsertion
  93. initFlag openAllFiles
  94. initFlag optionIsMeta
  95. initFlag posActivate
  96. initFlag powerThumb
  97. initFlag projectorAware
  98. initFlag showRowCol
  99. initFlag showMenuHeads
  100. initFlag sortedIsDefault
  101. initFlag suppressHeader
  102. initFlag tempMem
  103. initFlag undoOn
  104. initFlag wordWrap
  105.  
  106. initVar backExtension
  107. initVar bottomMargin
  108. initVar changesLim
  109. initVar defHeight
  110. initVar defWidth
  111. initVar defaultFont
  112. initVar fillColumn
  113. initVar fontSaving
  114. initVar fontSize
  115. initVar funcExpr
  116. initVar funcPar
  117. initVar leftFillColumn
  118. initVar leftMargin
  119. initVar markLabel
  120. initVar markSorting
  121. initVar numWinsToTile
  122. initVar paraColumn
  123. initVar    printerFont
  124. initVar    printerFontSize
  125. initVar replaceStr
  126. initVar savedState
  127. initVar searchStr
  128. initVar sortColumn
  129. initVar tabSize
  130. initVar tagFile
  131. initVar topMargin
  132. initVar wordBreak
  133. initVar wordBreakPreface
  134.  
  135.